A Virtual Embedded Systems Testbed for Instruction and Design
نویسندگان
چکیده
Today virtually all engineering disciplines, such as transportation industry, manufacturing, consumer electronics, and energy systems, to name a few, are using embedded systems. From automobiles, elevators, and dishwashers to power converters, CD-ROM drives, and VCRs to pace makers, wrist watches, and even light switches, a wide variety of industrial and consumer products are being equipped with embedded processors that interact with the electrical and mechanical parts of the product. Development of such embedded systems is a complex process. It involves many aspects of electrical engineering and computer science technologies. With the use of embedded systems increasing that rapidly, so is the need for programmers trained in the skills required by embedded systems programming: basic knowledge of the electrical engineering and computer science aspects with practical hands-on experience on an actual embedded system and with knowledge of the particular application domain. The conventional way of teaching embedded systems programming is either through the use of an extensive laboratory setup for small numbers of students or using simulation or pure lecturing for larger numbers of students. We will develop a virtual testbed that allows teaching hands-on experience to large numbers of students. The hardware for the virtual testbed will initially consist of a PC connected to a high-end TI floating-point DSP board. Instead of requiring an extensive laboratory setup of electromechanical devices connected to the DSP, we will simulate the external devices on the PC. User programs on the DSP will access the external devices through device drivers, which will transparently forward the requests through the parallel port to the simulators running on the PC. Using software instruments such as voltmeters and scopes and a Web-based graphical user interface, students can get realistic hands-on experience in programming an embedded processor without the need for external electromechanical hardware. For the communication between the DSP and the simulators, we will use an XML-based protocol. Any data written to devices or read from devices as well as interrupts and clock synchronization requests will be transmitted as short XML documents. From the simulators’ point of view, this will make the communication with the DSP look like the interaction with a web server. The advantage of this architecture is that the virtual testbed can be retargeted to different embedded processors (fixed-point or floating-point DSPs, or even microcontrollers) with minimal effort. Also, this architecture will allow running the simulators on a remote machine or connecting multiple DSPs to one server PC. This will give maximum flexibility for schools to set up labs, ranging from a server with a hand-full of DSPs shared by a large number of students to one PC and one DSP board per seat. We will develop the instructional material for three project-based courses: an introductory computer science course on Microcomputer Systems, an electrical engineering course on DSP Control of Electromechanical Systems, and a Capstone Design of Embedded Systems course. The course material will be structured as a sequence of modules, each of which centers around a small programming project. The course material, like the interaction with the virtual testbed, will be Web-based to allow wider dissemination and possible future distance learning. 1. Problem Statement Embedded systems are rapidly becoming ubiquitous. From automobiles, elevators, and dishwashers to power converters, CD-ROM drives, and VCRs to pace makers, wrist watches, and even light switches, a wide variety of industrial and consumer products are being equipped with embedded processors that interact with the electrical and mechanical parts of the product. Development of such embedded systems is a complex process. It involves many aspects of electrical engineering and computer science technologies. The electrical engineering aspects include circuit theory, digital circuits, control theory, and power electronics system technology. The computer science aspects include systems programming, operating systems technology, programming language and compiler support, and software engineering techniques. Nowadays, development of these products require even broader knowledge than it did in the past. With the advancement of digital signal processing technology, the use of digital signal processors (DSPs) is not uncommon these days. DSP based digital control schemes are replacing the functions that used to be implemented in discrete analog and digital circuitry. This in turn adds signal-processing technology to the list of knowledge required by a product developer. With the use of embedded systems increasing that rapidly, so is the need for programmers trained in the skills required by embedded systems programming. A trained embedded systems developer must combine basic knowledge of the electrical engineering and computer science aspects with practical handson experience on an actual embedded system and with knowledge of the particular application domain. The conventional way of providing practical experience to electrical engineering students is through the use of extensive laboratory based learning systems. Such systems require an actual hardware setup and a set of laboratory measurement systems that sometimes are costly to build and difficult to maintain. For safety and security reasons, access to the laboratory-based system is usually limited to a certain time and can only be conducted with the presence of a local facilitator. Because of the elaborate setup required, only small numbers of students can be educated in such a laboratory environment. For lack of the required electrical and mechanical hardware, computer science students often get little if any handson experience on embedded systems but, instead, would be taught on general-purpose hardware or simulators.
منابع مشابه
Computer-Assisted Instruction (CAI), Virtual Patients (VP), and Human Patient Simulation (HPS) in Medical Education Based on Gagne’s Educational Design Pattern
Background and objectives: Educational technology is widely used in all parts of medical education. The use and application of common educational technologies and adoption of educational design patterns in medical sciences education can greatly help in medical simulations, training, and improving of clinical skills of nurses and medical students. The aim of this research was to study computer-a...
متن کاملIntegrating Instruction Set Simulator into a System Level Design Environments design tool
of the Thesis Integrating Instruction Set Simulator into a System Level Design Environment by Akash Agarwal Master of Science in Electrical and Computer Engineering Northeastern University, February 2013 Dr. Gunar Schirner, Adviser Design of Embedded System, which today comprises of both Hardware and Software (HW/SW) has become complex with the advancement of technology and with the ever increa...
متن کاملIntegrating Instruction Set Simulator into a System Level Design Environment
of the Thesis Integrating Instruction Set Simulator into a System Level Design Environment by Akash Agarwal Master of Science in Electrical and Computer Engineering Northeastern University, February 2013 Dr. Gunar Schirner, Adviser Design of Embedded System, which today comprises of both Hardware and Software (HW/SW) has become complex with the advancement of technology and with the ever increa...
متن کاملA Virtual DSP System for Design Instruction of Power Converters
This paper describes the development of an object oriented DSP based for design and control of power converters. The testbed is developed using a Texas Instrument digital signal processing (DSP) chip for a hardware-in-theloop simulation system. The system consists of objectoriented Windows-based software written in C++ and a controller hardware system for rapid prototyping and easy testing of d...
متن کاملEvaluating Case-Based Systems in Virtual Games
TIELT is a software testbed that facilitates the integration and testing of learning-embedded decision systems on user-selected tasks from virtual gaming simulators. A key component of TIELT is its support for user-defined experimental methodologies. This paper examines how some case-based agents have been evaluated in game environments, describes how such experiments can be supported using TIE...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2000